package com.jt.mapper;

import com.jt.pojo.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

//该Mapper主要测试注解的开发
@Mapper
@CacheNamespace //使用注解的二级缓存
public interface UserAnnoMapper {
    //利用我们的注解可以根据我们的返回值类型，自动映射
    //规则1：注解和映射文件 二选一 映射文件为主导，
    //规则2：注解写法一般试用与简单的操作，关联查询不适用
    @Select("select * from demo_user")
    List<User> findAll();

    @Select("select * from demo_user where id = #{id}")
    List<User> findUserById(int id);

    @Insert("insert into demo_user(id,name,age,sex) values(null,#{name},#{age},#{sex})")
    int findUserInsert(User user);

    @Delete("delete from demo_user where id = #{id}")
    int findUserDelete(int id);

    @Update("update demo_user set name = #{name},age = #{age},sex = #{sex} where id = #{id}")
    int findUserUpdate(User user);

    List<User> findCache1();
}
